package cn.iocoder.yudao.module.blog.controller.admin.jiucase.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;

/**
 * 灸法案例 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class BlogJiuCaseBaseVO {

    @Schema(description = "会员编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4635")
    @NotNull(message = "会员编号不能为空")
    private Long memberId;

    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "标题不能为空")
    private String title;

    @Schema(description = "标签", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "标签不能为空")
    private String tags;

    @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotNull(message = "名字不能为空")
    private String name;

    @Schema(description = "性别", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "性别不能为空")
    private Byte sex;

    @Schema(description = "年龄", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "年龄不能为空")
    private Integer age;

    @Schema(description = "体重", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "体重不能为空")
    private Integer weight;

    @Schema(description = "电话", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "电话不能为空")
    private String phone;

    @Schema(description = "案例内容", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "案例内容不能为空")
    private String content;

    @Schema(description = "图片", example = "https://www.iocoder.cn")
    private String picUrl;

    @Schema(description = "视频", example = "https://www.iocoder.cn")
    private String videoUrl;

    @Schema(description = "查阅数量", example = "1")
    private Integer readNum;

    @Schema(description = "评论数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
    private Integer commentNum;

    @Schema(description = "点赞数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
    private Integer likeNum;

    @Schema(description = "显示类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    @NotNull(message = "类型不能为空")
    private Integer showType;

    @Schema(description = "审核等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    private Long levelId;

    @Schema(description = "审核等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    private String audioUrl;
}
